<template>
  <div>
    <div class="footer_warp">
      <!-- <a href="#/find">发现音乐</a>
      <a href="#/my">我的音乐</a>
      <a href="#/part">朋友</a> -->
      <!-- 声明式导航好处: -->
      <!-- 1. 替代了 a 标签, 不需要手动写 #, 会自动决定是否加 # -->
      <!-- 2. 当前被点击的 a 标签会自动添加类名: router-link-active -->
      <!-- 本质: 最终还是会被渲染成 a 标签 -->
      <!-- <router-link to="/find">发现音乐</router-link>
      <router-link to="/my">我的音乐</router-link> -->
      <!-- 传参分为两种 -->
      <!-- 1. query: 不需要额外配置, 直接在 url 后面加 ? 即可传参, 到目标组件中使用 $route.query 接收 -->
      <!-- 2. params: 必须先去路由规则中配置 /:name 再到路径上传参, 在目标组件中使用 $route.params 接收 -->
      <!-- <router-link to="/part?name=李帅&age=36">朋友-query传参</router-link>
      <router-link to="/part/袁疆/17">朋友-params传参</router-link> -->
      <span @click="$router.push('/find')">发现音乐</span>
      <span @click="goto('/my', 'My')"> 我的音乐 </span>
      <span @click="gotoPartQuery('/part', 'Part')">朋友-query传参</span>
      <span @click="gotoPartParams('/part', 'Part')">朋友-params传参</span>
    </div>
    <div class="top">
      <!-- Camel-Case -->
      <!-- <RouterView></RouterView> -->
      <!-- Kebab-Case -->
      <router-view></router-view>
    </div>
  </div>
</template>

<script>
export default {
  name: "RouterStudy5",

  data() {
    return {};
  },

  mounted() {},

  methods: {
    goto(path, name) {
      this.$router
        .push({
          path,
        })
        .catch((e) => e);
    },
    gotoPartQuery(path, name) {
      this.$router
        .push({
          path,
          query: {
            name: "张三",
            age: 18,
          },
          // params: {
          //   name: '李四',
          //   age:28
          // }
        })
        .catch((e) => e);
    },
    gotoPartParams(path, name) {
      this.$router
        .push({
          name,
          // params: {
          //   name: '张三',
          //   age:28
          // },
          params: {
            name: "李四",
            age: 28,
          },
        })
        .catch((e) => e);
    },
  },
};
</script>

<style scoped>
.footer_wrap {
  position: fixed;
  left: 0;
  top: 0;
  display: flex;
  width: 100%;
  text-align: center;
  background-color: #333;
  color: #ccc;
}
.footer_wrap a,
span {
  flex: 1;
  text-decoration: none;
  padding: 20px 0;
  line-height: 20px;
  background-color: #333;
  color: #ccc;
  border: 1px solid black;
}
.footer_wrap a:hover,
span:hover {
  background-color: #555;
}
.top {
  padding-top: 62px;
}

.router-link-active {
  background-color: yellow !important;
}
</style>